Computer databases have become extremely sophisticated, e.g., the computing demands placed on database systems have increased at a rapid pace. Database systems are typically configured to separate the process of storing data from accessing, manipulating or using data stored in the database. More specifically, databases use a model where data is first stored, then indexed, and then queried. However, this model cannot meet the performance requirements of some real-time applications. For example, the rate at which a database system can receive and store incoming data can limit how much data can be processed or otherwise evaluated, which, in turn, limits the utility of database applications configured to process large amounts of data in real-time.
To address this issue, stream based computing and stream based database computing is emerging as a developing technology for database systems, where products are available and allow users to create applications that process and query streaming data before it reaches a database file. With this emerging technology, users can specify processing logic to apply to inbound data records while they are “in flight,” with the results available in milliseconds. Constructing an application using this type of processing has opened up a new programming paradigm that will allow for a broad variety of innovative applications, systems and processes to be developed as well as present new challenges for application programmers and database developers.
One or more data streams may be “looped back” across processing elements that operate on the one or more data streams. As a result, duplicate and/or similar data streams are generated and continue to be processed by the processing elements. In some cases, a processing element may determine that a particular data stream should no longer be processed, and the processing element terminates the data stream. Unfortunately, all data streams related to the particular data stream—which also should no longer be processed—continue to be processed by other processing elements. As a result, wasteful consumption of system resources occurs.